翻訳と辞書
Words near each other
・ External orifice of the uterus
・ External pterygoid
・ External pudendal artery
・ External pudendal veins
・ External quality assessment
・ External ray
・ External relations of Guernsey
・ External relations of Jersey
・ External relations of the Isle of Man
・ External render
・ External rhythm
・ External risk
・ External sector
・ External Security Manager
・ External Short Messaging Entity
External sorting
・ External spermatic fascia
・ External sphincter muscle of female urethra
・ External sphincter muscle of male urethra
・ External sphincter muscle of urethra
・ External storage
・ External stowage platform
・ External transcribed spacer
・ External urine collection device
・ External validity
・ External variable
・ External ventricular drain
・ External vertebral venous plexuses
・ External Vision System
・ External wall insulation


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

External sorting : ウィキペディア英語版
External sorting
External sorting is a term for a class of sorting algorithms that can handle massive amounts of data. External sorting is required when the data being sorted do not fit into the main memory of a computing device (usually RAM) and instead they must reside in the slower external memory (usually a hard drive). External sorting typically uses a hybrid sort-merge strategy. In the sorting phase, chunks of data small enough to fit in main memory are read, sorted, and written out to a temporary file. In the merge phase, the sorted subfiles are combined into a single larger file.
==External merge sort==
One example of external sorting is the external merge sort algorithm, which sorts chunks that each fit in RAM, then merges the sorted chunks together.〔Donald Knuth, ''The Art of Computer Programming'', Volume 3: ''Sorting and Searching'', Second Edition. Addison-Wesley, 1998, ISBN 0-201-89685-0, Section 5.4: External Sorting, pp.248–379.〕〔Ellis Horowitz and Sartaj Sahni, ''Fundamentals of Data Structures'', H. Freeman & Co., ISBN 0-7167-8042-9.〕 For example, for sorting 900 megabytes of data using only 100 megabytes of RAM:
# Read 100 MB of the data in main memory and sort by some conventional method, like quicksort.
# Write the sorted data to disk.
# Repeat steps 1 and 2 until all of the data is in sorted 100 MB chunks (there are 900MB / 100MB = 9 chunks), which now need to be merged into one single output file.
# Read the first 10 MB (= 100MB / (9 chunks + 1)) of each sorted chunk into input buffers in main memory and allocate the remaining 10 MB for an output buffer. (In practice, it might provide better performance to make the output buffer larger and the input buffers slightly smaller.)
# Perform a 9-way merge and store the result in the output buffer. Whenever the output buffer fills, write it to the final sorted file and empty it. Whenever any of the 9 input buffers empties, fill it with the next 10 MB of its associated 100 MB sorted chunk until no more data from the chunk is available. This is the key step that makes external merge sort work externally -- because the merge algorithm only makes one pass sequentially through each of the chunks, each chunk does not have to be loaded completely; rather, sequential parts of the chunk can be loaded as needed.
Historically, instead of a sort, sometimes a replacement-selection algorithm〔Donald Knuth, ''The Art of Computer Programming'', Volume 3: ''Sorting and Searching'', Second Edition. Addison-Wesley, 1998, ISBN 0-201-89685-0, Section 5.4: External Sorting, pp.254–ff.〕 was used to perform the initial distribution, to produce on average half as many output chunks of double the length.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「External sorting」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.